
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Object Catalog
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Object Catalog}

\subsection{Account}
Account is a representation of a customer's bank account.


\subsection{AccountRequest}
AccountRequest holds the type and number of requested accounts for a new customer.


\subsection{AccountsInformation}
AccountsInformation is a composite data object that can hold information about multiple accounts. This object is used to generate a bank account overview.


\subsection{Ack}
Ack is an acknowledgement that the request is received and will be handled in the future (asynchronous function call).


\subsection{Balance}
Balance is a data object that holds a bank account balance linked to its account.


\subsection{BankcardID}
BankcardID is a unique identifier of a bank card.


\subsection{CardInfo}
CardInfo holds the information necessary to request a new bank card from the Bank Card Company.


\subsection{CardLoginInfo}
CardLoginInfo holds the login information of a customer's bank card that can be verified by the Login Module (e.g. hashed PIN, unique identifier).


\subsection{Customer}
Customer represents a SAB customer and holds all data necessary to identify a customer in the system.


\subsection{CustomerInfo}
Bundles information about a new potential customer (i.e. name, passport number, address, date of birth, e-mail address, telephone number)


\subsection{CustomerQuery}
CustomerQuery is a query to search for customers in the system.


\subsection{DirectDebit}
DirectDebit is a representation of a direct debit in the system.


\subsection{DirectDebitId}
DirectDebitId is a unique identifier of a direct debit.


\subsection{DirectDebitInfo}
DirectDebitInfo holds all information necessary to set up a new direct debit.


\subsection{DirectDebitNotification}
DirectDebitNotification is a notification of a newly created direct debit that can be send to a customer's notification inbox.


\subsection{DirectDebitRequest}
DirectDebitRequest is a request for the execution of a direct debit originating from a beneficiary.


\subsection{Employee}
Employee holds the information of an employee necessary to use the Employee Application.


\subsection{FailedTransaction}
FailedTransaction is a notification of a failed transaction that can be send to a customer's notification inbox.


\subsection{FraudReport}
FraudReport is a report of the third party fraud detection company that indicates which cards may be compromised.


\subsection{Id}
Id is an object that is used by the customer to authenticate him or herself with the system to show that he or she is already logged in.


\subsection{InvalidIBAN}
InvalidIBAN is an error message notifying of an invalid IBAN.


\subsection{LoginInfo}
LoginInfo holds the login information of a customer that can be verified by the Login Module (e.g. hashed password, unique id).


\subsection{Notification}
Notification is a data object that represents a notification in a customer's inbox.


\subsection{Ok}
Ok is an acknowledgement that the request is received and handled correctly (synchronous function call).


\subsection{POSPayment}
POSPayment is a representation of a POS payment on the side of the POS.


\subsection{RegisterForm}
A form that is used by the bank clerk to register a new customer.


\subsection{RegisterInfo}
RegisterInfo holds all needed information to register a new customer, this data object is made by combining CustomerInfo, Password and AccountRequest. It will hold all necessary information to create a new customer (i.e. name, passport number, address, date of birth, e-mail address, telephone number, SAB online password, requested accounts)


\subsection{SavingAccount}
SavingAccount is an object that represents a saving account in the system.


\subsection{StandingOrder}
StandingOrder represents a standing order object in the system.


\subsection{StandingOrderInfo}
StandingOrderInfo holds all information necessary to set up a new standing order.


\subsection{SWIFTMessage}
SWIFTMessage represents a message received or to be sended by SWIFT. It is not yet parsed.


\subsection{Transaction}
Transaction represents a transaction command that can be executed by the Transaction Processing System. It can hold many possible actions (e.g. intrabank transfer, interbank debit transaction, interbank credit transaction, interbank status update, interest payment, cash deposit, cash withdrawal, POS payment).


\subsection{TransactionHistory}
TransactionHistory is a data object that contains a subset of the transaction history.


\subsection{TransactionMessage}
TransactionMessage is a message that can be converted into a Transaction.


\subsection{TransactionReply}
TransactionReply is a reply message send out by the Transaction Processing System.